// 时间过滤器
export const filters = {
	dateFormat: value => {
		if (!value) return ''
		value = value * 1000
		//new Date 在 ios safari浏览器有兼容性问题处理如下：ios不支持2027-2-22 16:23，需要改为2027/2/22 16:23 
		// ? 兼容 ios safari : 兼容其他浏览器
		let $this = new Date(value) == 'Invalid Date' ? new Date(date.replace(/-/g, "/")) : new Date(value)
	
		var timestamp = parseInt(Date.parse($this)) / 1000 //- 8 * 60 * 60; //（本地时间）东八区减去8小时;
		// console.log(timestamp)
		function zeroize(num) {
			return (String(num).length == 1 ? '0' : '') + num;
		}
		var curTimestamp = parseInt(new Date().getTime() / 1000); //当前时间戳
		// console.log(curTimestamp)
		var timestampDiff = curTimestamp - timestamp; // 参数时间戳与当前时间戳相差秒数
		var curDate = new Date(curTimestamp * 1000); // 当前时间日期对象
		var tmDate = new Date(timestamp * 1000); // 参数时间戳转换成的日期对象
	
		var Y = tmDate.getFullYear(),
			m = tmDate.getMonth() + 1,
			d = tmDate.getDate();
		var H = tmDate.getHours(),
			i = tmDate.getMinutes(),
			s = tmDate.getSeconds();
	
	
		if (timestampDiff < 60) { // 一分钟以内
			return "刚刚";
		} else if (timestampDiff < 3600) { // 一小时前之内
			return Math.floor(timestampDiff / 60) + "分钟前";
		} else if (curDate.getFullYear() == Y && curDate.getMonth() + 1 == m && curDate.getDate() == d) {
			return '今天 ' + zeroize(H) + ':' + zeroize(i)
		} else {
			var newDate = new Date((curTimestamp - 86400) * 1000); // 参数中的时间戳加一天转换成的日期对象
			if (newDate.getFullYear() == Y && newDate.getMonth() + 1 == m && newDate.getDate() == d) {
				return '昨天 ' + zeroize(H) + ':' + zeroize(i)
			} else if (curDate.getFullYear() == Y) {
				return zeroize(m) + '月' + zeroize(d) + '日';
			} else {
				return Y + '/' + zeroize(m) + '/' + zeroize(d)
			}
		}
	},
	smartWeight: value => {
		if (isNaN(value)) return value; // 如果输入的不是数字，直接返回
		if (value >= 1000000) {
			// 如果值大于等于 1000000 克，转换为吨
			return (value / 1000000).toFixed(2) + 't';
		} else if (value >= 1000) {
			// 如果值大于等于 1000 克，转换为千克
			return (value / 1000).toFixed(2) + 'kg';
		} else {
			// 默认返回克
			return value + 'g';
		}
	},
	formatDate: value => {
		if (value == undefined) {
			return;
		}
		let date = new Date(value * 1000); //时间戳为10位需*1000，时间戳为13位的话不需乘1000
		let Y = date.getFullYear() + '年';
		let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '月';
		let D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + '日';
		let h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
		let m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';
		let s = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds());
		return Y + M + D + h + m + s;
	},
	formatDes: value => {
		if (value == undefined) {
			return;
		}
		let date = new Date(value * 1000); //时间戳为10位需*1000，时间戳为13位的话不需乘1000
		let Y = date.getFullYear() + '年';
		let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '月';
		let D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + '日';
		let h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
		let m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes())
		return Y + M + D + h + m
	},
	formatTime: value => {
		if (value == undefined) {
			return;
		}
		let date = new Date(value * 1000); //时间戳为10位需*1000，时间戳为13位的话不需乘1000
		let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '月';
		let D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + '日';
		let h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
		let m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes())
		return M + D + h + m
	},
	formatYear: value => {
		if (value == undefined) {
			return;
		}
		//时间戳为10位需*1000，时间戳为13位的话不需乘1000
		value = value * 1000;
		let date = new Date(value);
		let y = date.getFullYear();
		y = y.toString().substr(2, 2);
		return y + '年上牌'; //年月日
	},
}